﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;

namespace Gmantis.Controls
{
    public class ListViewerViewport : INotifyPropertyChanged
    {
        // Fields
        private ListViewerPanel _panel;

        // Events
        public event PropertyChangedEventHandler PropertyChanged;

        // Methods
        internal ListViewerViewport(ListViewerPanel panel)
        {
            this._panel = panel;
        }

        protected void RaisePropertyChanged(string propertyName)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        // Properties
        public Rect Dimensions { get; internal set; }

        public int EndPosition { get; internal set; }

        public int FirstVisibleItem { get; internal set; }

        public int LastVisibleItem { get; internal set; }

        public int StartPosition { get; internal set; }
    }
}
